home *** CD-ROM | disk | FTP | other *** search
- // TSMorph - Amiga Morphing program
- // Copyright (C) © 1993 Topicsave Limited
-
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation; either version 2 of the License, or
- // any later version.
-
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
-
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, write to the Free Software
- // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- // mpaddock@cix.compulink.co.uk
-
- // Include precompiled headers if not already included
- #ifndef TSMORPH_H
- #include "TSMorph.h"
- #endif
-
- /* Gadgets in the control window */
- extern struct ExtGadget OneGadget = {
- &TwoGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &One_im,
- &One_imx,
- NULL,
- 0,
- NULL,
- ONEGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget TwoGadget = {
- &RelGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Two_im,
- &Two_imx,
- NULL,
- 0,
- NULL,
- TWOGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget RelGadget = {
- &MyAddGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Rel_im,
- &Rel_imx,
- NULL,
- 0,
- NULL,
- RELGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget MyAddGadget = { // Note not AddGadget as this is a function!
- &DelGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Add_im,
- &Add_imx,
- NULL,
- 0,
- NULL,
- ADDGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget DelGadget = {
- &LinkGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Del_im,
- &Del_imx,
- NULL,
- 0,
- NULL,
- DELGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget LinkGadget = {
- &UnlinkGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Link_im,
- &Link_imx,
- NULL,
- 0,
- NULL,
- LINKGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget UnlinkGadget = {
- &NoneGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Unlink_im,
- &Unlink_imx,
- NULL,
- 0,
- NULL,
- UNLINKGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget NoneGadget = {
- &stGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_SELECTED|GFLG_EXTENDED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &None_im,
- &None_imx,
- NULL,
- 0,
- NULL,
- NONEGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget stGadget = {
- &prevGadget,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &st_im,
- &st_imx,
- NULL,
- 0,
- NULL,
- STGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget prevGadget = {
- &gotoGadget,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &prev_im,
- &prev_imx,
- NULL,
- 0,
- NULL,
- PREVGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget gotoGadget = {
- &nextGadget,
- 0,0,
- AIMAGE+1,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &goto_im,
- &goto_imx,
- NULL,
- 0,
- NULL,
- GOTOGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget nextGadget = {
- &lastGadget,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &next_im,
- &next_imx,
- NULL,
- 0,
- NULL,
- NEXTGADGET,
- NULL,
- GMORE_GADGETHELP
- };
- extern struct ExtGadget lastGadget = {
- NULL,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_EXTENDED,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &last_im,
- &last_imx,
- NULL,
- 0,
- NULL,
- LASTGADGET,
- NULL,
- GMORE_GADGETHELP
- };
-
- /* Menu for the Control Window - comments on the right are the array index */
- extern struct NewMenu MyNewMenu[] = { // There must be an easier way!
- { NM_TITLE, NULL,NULL,0,0,NULL }, // 0
- { NM_ITEM,NULL,NULL,0,0,0 }, // 1
- { NM_ITEM,NULL,NULL,0,0,0 }, // 2
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 3
- { NM_ITEM,NULL,NULL,0,0,0}, // 4
- { NM_ITEM,NULL,NULL,0,0,0}, // 5
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 6
- { NM_ITEM,NULL,NULL,0,0,0 }, // 7
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 8
- { NM_ITEM,NULL,NULL,0,0,0 }, // 9
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 10
- { NM_ITEM,NULL,NULL,0,0,0 }, // 11
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 12
- { NM_ITEM,NULL,NULL,0,0,NULL }, // 13
- { NM_TITLE, NULL,0,0,0,NULL}, // 14
- { NM_ITEM,NULL,NULL,0,0,0 }, // 15
- { NM_ITEM,NULL,NULL,0,0,0 }, // 16
- { NM_ITEM,NULL,NULL,0,0,NULL }, // 17
- { NM_SUB,NULL,NULL,0,0,0 }, // 18
- { NM_SUB,NULL,NULL,0,0,0 }, // 19
- { NM_SUB,NULL,NULL,0,0,0 }, // 20
- { NM_SUB,NULL,NULL,0,0,0 }, // 21
- { NM_SUB,NULL,NULL,0,0,0 }, // 22
- { NM_ITEM,NULL,0,0,0,NULL }, // 23
- { NM_SUB, NULL,NULL,CHECKIT,~1,NULL }, // 24
- { NM_SUB, NULL,NULL,CHECKIT,~2,NULL }, // 25
- { NM_SUB, NULL,NULL,CHECKIT,~4,NULL }, // 26
- { NM_SUB, NULL, NULL,CHECKIT,~8,NULL }, // 27
- { NM_SUB, NULL, NULL,CHECKIT,~16,NULL }, // 28
- { NM_SUB, NULL, NULL,CHECKIT,~32,NULL }, // 29
- { NM_SUB, NULL, NULL,CHECKIT,~64,NULL }, // 30
- { NM_SUB, NULL, NULL,CHECKIT|CHECKED,~128,NULL }, // 31
- { NM_TITLE, NULL,0,0,0,NULL }, // 32
- { NM_ITEM,NULL,NULL, CHECKIT|MENUTOGGLE,0,NULL }, // 33
- { NM_ITEM,NULL,NULL, CHECKIT|MENUTOGGLE,0,NULL }, // 34
- { NM_ITEM,NULL,NULL, CHECKIT|MENUTOGGLE,0,NULL }, // 35
- { NM_ITEM,NULL,NULL,0,NULL}, // 36
- { NM_SUB, NULL,NULL,CHECKIT,~1,NULL }, // 37
- { NM_SUB, NULL,NULL,CHECKIT,~2,NULL }, // 38
- { NM_SUB, NULL,NULL,CHECKIT,~4,NULL }, // 39
- { NM_SUB, NULL,NULL,CHECKIT,~8,NULL }, // 40
- { NM_SUB, NULL,NULL,CHECKIT,~16,NULL }, // 41
- { NM_ITEM,NULL,NULL,0,NULL}, // 42
- { NM_ITEM,NULL,NULL,0,NULL}, // 43
- { NM_ITEM,NULL,NULL,0,NULL}, // 44
- { NM_ITEM,NULL,NULL,0,NULL}, // 45
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 46
- { NM_ITEM,NULL,NULL,CHECKIT|MENUTOGGLE,NULL},// 47
- { NM_ITEM,NULL,NULL,CHECKIT|MENUTOGGLE,NULL}, // 48
- { NM_ITEM,NULL, NULL, 0, NULL }, // 49
- { NM_ITEM,NULL, NULL, 0, NULL }, // 50
- { NM_ITEM,NULL, NULL, 0, NULL }, // 51
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 52
- { NM_ITEM,NULL,NULL, CHECKIT|MENUTOGGLE,NULL },// 53
- { NM_ITEM,NULL,NULL,0,NULL}, // 54
- { NM_ITEM,NULL,NULL,0,NULL}, // 55
- { NM_ITEM,NULL,NULL,0,NULL}, // 56
- { NM_ITEM,NULL,NULL,0,NULL}, // 57
- { NM_ITEM,NULL,NULL,0,NULL}, // 58
- { NM_ITEM,NULL,NULL,0,NULL}, // 59
- { NM_ITEM,NULL,NULL,0,NULL}, // 60
- { NM_SUB, NULL,NULL,CHECKIT|MENUTOGGLE,NULL }, // 61
- { NM_SUB, NULL,NULL,CHECKIT|MENUTOGGLE,NULL }, // 62
- { NM_SUB, NULL,NULL,CHECKIT|MENUTOGGLE,NULL }, // 63
- { NM_SUB, NULL,NULL,CHECKIT|MENUTOGGLE,NULL },// 64
- { NM_SUB, NULL,NULL,CHECKIT|MENUTOGGLE,NULL },// 65
- { NM_ITEM,NULL, NULL, 0, NULL }, // 66
- { NM_SUB, NULL,NULL,CHECKIT,~1,NULL }, // 67
- { NM_SUB, NULL,NULL,CHECKIT,~2,NULL }, // 68
- { NM_SUB, NULL,NULL,CHECKIT,~4,NULL }, // 69
- { NM_SUB, NULL,NULL,CHECKIT,~8,NULL }, // 70
- { NM_SUB, NULL,NULL,CHECKIT,~16,NULL }, // 71
- { NM_SUB, NULL,NULL,CHECKIT,~32,NULL }, // 72
- { NM_SUB, NULL,NULL,CHECKIT,~64,NULL }, // 73
- { NM_SUB, NULL,NULL,CHECKIT,~128,NULL }, // 74
- { NM_SUB, NULL,NULL,CHECKIT,~256,NULL }, // 75
- { NM_SUB, NULL,NULL,CHECKIT,~512,NULL }, // 76
- { NM_SUB, NULL,NULL,CHECKIT,~1024,NULL }, // 77
- { NM_SUB, NULL,NULL,CHECKIT,~2048,NULL }, // 78
- { NM_SUB, NULL,NULL,CHECKIT,~4096,NULL }, // 79
- { NM_SUB, NULL,NULL,CHECKIT,~8192,NULL }, // 80
- { NM_ITEM,NULL, NULL, 0, NULL }, // 81
- { NM_ITEM,NULL, NULL, 0, NULL }, // 82
- { NM_ITEM,NULL,NULL,CHECKIT|MENUTOGGLE,NULL }, // 83
- { NM_ITEM,NULL,NULL,CHECKIT|MENUTOGGLE,NULL }, // 84
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 85
- { NM_ITEM,NULL,NULL,0,NULL }, // 86
- { NM_ITEM,NULL,NULL,0,NULL }, // 87
- { NM_ITEM,NULL,NULL,0,NULL }, // 88
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 89
- { NM_ITEM,NULL,NULL,CHECKIT|MENUTOGGLE,NULL }, // 90
- { NM_END,NULL,NULL,0,0,NULL }
- };
-
- /* Screen and VisualInfo for ControlWindow */
- static struct Screen *Screen = NULL;
- static struct VisualInfo *VisInfo = NULL;
-
- /* The Window and its menus and (animated) screen title */
- extern struct Window *ControlWindow = NULL;
- extern struct Menu *MyMenu = NULL;
- extern UBYTE *CWTitle = " "; // note at least 3 spaces at end for frame number!
- // "TSMorph - Frame "
-
- /* Open the Control Window
- * Not really sure why it returns a Struct Window *
- * as ControlWindow is set up inside this function anyway
- * should really be a BOOL
- */
- struct Window *
- OpenControlWindow(void) {
- ULONG HNum; // The current edit mode is displayed as help
- switch (Mode) {
- case EDIT1:
- HNum = H_EOne;
- break;
- case EDIT2:
- HNum = H_ETwo;
- break;
- case EDITREL:
- HNum = H_ERel;
- break;
- case ADD:
- HNum = H_EAdd;
- break;
- case DELETE:
- HNum = H_EDel;
- break;
- case LINK1:
- HNum = H_ELnk;
- break;
- case UNLINK1:
- HNum = H_EUnl;
- break;
- case NONE:
- HNum = H_EMov;
- break;
- }
- if (Screen = LockPubScreen(PubScreenName)) { /* Supplied in PUBSCREEN= */
- // Dynamically position all the gadgets (actually only based on window top border)
- /* Gadgets in the left column */
- OneGadget.LeftEdge =
- RelGadget.LeftEdge =
- DelGadget.LeftEdge =
- UnlinkGadget.LeftEdge =
- stGadget.LeftEdge = Screen->WBorLeft;
- /* Gadgets in the right column */
- TwoGadget.LeftEdge =
- MyAddGadget.LeftEdge =
- LinkGadget.LeftEdge =
- NoneGadget.LeftEdge = Screen->WBorLeft + IMAGE_WIDTH;
- prevGadget.LeftEdge = Screen->WBorLeft + AIMAGE;
- gotoGadget.LeftEdge = Screen->WBorLeft + (AIMAGE+AIMAGE);
- nextGadget.LeftEdge = Screen->WBorLeft + (AIMAGE+AIMAGE+AIMAGE+1); // +1 as gotoGadget is 1 wider
- lastGadget.LeftEdge = Screen->WBorLeft + (AIMAGE+AIMAGE+AIMAGE+1+AIMAGE);
- /* Gadgets in top row */
- OneGadget.TopEdge =
- TwoGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1;
- /* Gadgets in 2nd row */
- RelGadget.TopEdge =
- MyAddGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT);
- /* Gadgets in 3rd row */
- DelGadget.TopEdge =
- LinkGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT+IMAGE_HEIGHT);
- /* Gadgets in bottom (-1) row */
- UnlinkGadget.TopEdge =
- NoneGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT);
- /* Arrow gadgets */
- stGadget.TopEdge =
- prevGadget.TopEdge =
- gotoGadget.TopEdge =
- nextGadget.TopEdge =
- lastGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT);
- if ((SinglePicture == 2) || (SinglePicture == 3)) { // Animated so set screen title
- sprintf(CWTitle,MyGetMsg(MSG_TSMFRAME),FrameNumber);
- }
- else {
- strcpy(CWTitle,MyGetMsg(MSG_TSM)); // Otherwise default
- }
- /* Open the window, in a default position */
- if (ControlWindow = OpenWindowTags(NULL,
- WA_Gadgets, &OneGadget,
- WA_IDCMP, IDCMP_MENUPICK | IDCMP_CLOSEWINDOW | IDCMP_MENUHELP |
- IDCMP_GADGETDOWN | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_GADGETUP |
- IDCMP_GADGETHELP | IDCMP_MOUSEMOVE,
- WA_SimpleRefresh, TRUE,
- WA_Flags, WFLG_DRAGBAR | WFLG_DEPTHGADGET | WFLG_CLOSEGADGET |
- WFLG_NOCAREREFRESH,
- WA_PubScreen, Screen,
- WA_Width, Screen->WBorLeft + Screen->WBorRight +
- (IMAGE_WIDTH+IMAGE_WIDTH),
- WA_Height, Screen->WBorTop + Screen->Font->ta_YSize + 1 +
- Screen->WBorBottom +
- (IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT+AIMAGE),
- WA_Left, 0, // left edge of screen
- WA_Top, TSMorphWnd->TopEdge + Rect[GD_Help].MaxY + 2,
- WA_ScreenTitle, CWTitle, // Top edge means help gadget is still visible
- WA_Title, MyGetMsg(MSG_MOV), // This is wrong - could be a different mode ?
- WA_MenuHelp, TRUE,
- WA_NewLookMenus, TRUE,
- TAG_DONE)) {
- if (IntuitionBase->LibNode.lib_Version > 38) { // If running 3.0+ turn on gadget help
- HelpControl(ControlWindow,HC_GADGETHELP);
- }
- UpdateMenuDefs(); // Update the menu off/on/checks etc.
- /* Create,layout and add the menu */
- if (MyMenu = CreateMenus(MyNewMenu,
- GTMN_FullMenu,TRUE,
- TAG_END)) {
- if (VisInfo = GetVisualInfo(Screen, TAG_END)) {
- if (LayoutMenus(MyMenu,VisInfo,
- GTMN_NewLookMenus,TRUE,
- TAG_END)) {
- if (SetMenuStrip(ControlWindow,MyMenu)) {
- // display either full or short help
- if (GHelp) {
- help(HNum);
- }
- else {
- ihelp(HNum);
- }
- MySetMode(Mode);
- return ControlWindow; /* Success !!! */
- }
- }
- }
- }
- }
- }
- /* Something failed so clear everything down */
- CloseControlWindow();
- return NULL;
- }
-
-
- /* Close the Control Window
- * or at least as much as it is open
- * Clearing down all variables
- */
- void
- CloseControlWindow(void) {
- if (ControlWindow) {
- ClearMenuStrip(ControlWindow);
- }
- if (VisInfo) {
- FreeVisualInfo(VisInfo);
- VisInfo = NULL;
- }
- if (MyMenu) {
- FreeMenus(MyMenu);
- MyMenu = NULL;
- }
- if (ControlWindow) {
- CloseWindow(ControlWindow);
- ControlWindow = NULL;
- }
- if (Screen) {
- UnlockPubScreen(NULL,Screen);
- Screen = NULL;
- }
- }
-
- /* Update the new menu array based on the current settings
- * updates enabled/disabled status
- * and checkmarks
- */
- void
- UpdateMenuDefs(void) {
- if ((SinglePicture == 2) || (SinglePicture == 3)) { // No frame controls if not anim
- MyNewMenu[NM_FRAME].nm_Flags &= ~NM_ITEMDISABLED;
- }
- else {
- MyNewMenu[NM_FRAME].nm_Flags |= NM_ITEMDISABLED;
- }
- if (CreateIcons) { /* Supplied in CREATEICONS= */
- MyNewMenu[NM_CREATEICONS].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_CREATEICONS].nm_Flags &= ~CHECKED;
- }
- if (CreateIconsP) { /* Supplied in CREATEICONSP= */
- MyNewMenu[NM_ICONSP].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ICONSP].nm_Flags &= ~CHECKED;
- }
- if (KeepSettings) { /* Supplied in KEEPSETTINGS= */
- MyNewMenu[NM_KEEPS].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_KEEPS].nm_Flags &= ~CHECKED;
- }
- if (PaletteAllowed) { /* Supplied in CHANGEPALETTE= */
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags &= ~NM_ITEMDISABLED;
- }
- else {
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags |= NM_ITEMDISABLED;
- }
- if (palette) { /* Supplied in CHANGEPALETTE= */
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags &= ~CHECKED;
- }
- if (ZoomAllowed) { /* Supplied in ZOOM= */
- MyNewMenu[NM_ZOOM].nm_Flags &= ~NM_ITEMDISABLED;
- }
- else {
- MyNewMenu[NM_ZOOM].nm_Flags |= NM_ITEMDISABLED;
- }
- if (Zoom) { /* Supplied in ZOOM= */
- MyNewMenu[NM_ZOOM].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ZOOM].nm_Flags &= ~CHECKED;
- }
- if (AntiAlias) { /* Supplied in ANTIALIAS= */
- MyNewMenu[NM_ANTIALIAS].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ANTIALIAS].nm_Flags &= ~CHECKED;
- }
- if (Integer) { /* Supplied in INTEGER= */
- MyNewMenu[NM_INTEGER].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_INTEGER].nm_Flags &= ~CHECKED;
- }
- if (!ReqToolsBase) { // No reqtools.library so disable all string and int requesters
- MyNewMenu[NM_SCREEN].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DX].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DY].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_LOADSCRIPT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_PRESCRIPT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_POSTSCRIPT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DEPTH].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_QUALITY].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_SCREENR].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_PPREVIEW].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_SPREVIEW].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_CUSTOM].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_CDEPTH].nm_Flags |= NM_ITEMDISABLED;
- TSMorphNewMenu[12].nm_Flags |= NM_ITEMDISABLED;
- }
- if (!OpalBase) { // No opal.library so disable opal output formats and input mode
- MyNewMenu[NM_OPAL24].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPAL24T].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPAL24F].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPAL24FT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPALJPEG].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPALJPEGT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_QUALITY].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_ILBMOPAL].nm_Flags |= NM_ITEMDISABLED;
- }
- if (!DCTVBase) { // no dctv.library so disable dctv output formats
- MyNewMenu[NM_DCTV3].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DCTV4].nm_Flags |= NM_ITEMDISABLED;
- }
- if (CreateIconsR) { /* Supplied in CREATEICONSR= */
- MyNewMenu[NM_ICONSR].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ICONSR].nm_Flags &= ~CHECKED;
- }
- if (GHelp) { /* Supplied in HELP= */
- MyNewMenu[NM_HELP].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_HELP].nm_Flags &= ~CHECKED;
- }
- if (!handle) { // Have not managed to open amigaguide help file
- MyNewMenu[NM_HELP].nm_Flags |= NM_ITEMDISABLED;
- }
- // Switch off all modes except current
- MyNewMenu[NM_MODE1].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE2].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE4].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE8].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE16].nm_Flags &= ~CHECKED;
- if (RenderMode & 1) {
- MyNewMenu[NM_MODE1].nm_Flags |= CHECKED;
- }
- if (RenderMode & 2) {
- MyNewMenu[NM_MODE2].nm_Flags |= CHECKED;
- }
- if (RenderMode & 4) {
- MyNewMenu[NM_MODE4].nm_Flags |= CHECKED;
- }
- if (RenderMode & 8) {
- MyNewMenu[NM_MODE8].nm_Flags |= CHECKED;
- }
- if (RenderMode & 16) {
- MyNewMenu[NM_MODE16].nm_Flags |= CHECKED;
- }
- // switch off all output formats except current
- MyNewMenu[NM_ILBM24].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24T].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24F].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24FT].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPALJPEG].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPALJPEGT].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_PBM].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_BW16].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_BW256].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_HAM6].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_HAM8].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_DCTV3].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_DCTV4].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBM24+SaveFormat].nm_Flags |= CHECKED;
- // switch off all input modes except current
- MyNewMenu[NM_ILBMALWAYS].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMIFILBM].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMIFCOLOURS].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMOPAL].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMALWAYS+OpenMode].nm_Flags |= CHECKED;
- }
-